const baseUrl = 'https://s10.v100.vip:6318'; // 请根据实际后端地址修改
// const baseUrl = 'https://www.wjjd.xyz'; 
function request(options) {
  return new Promise((resolve, reject) => {
    // 处理URL
    const url = (options.url.startsWith('http') ? options.url : baseUrl + options.url);
    
    // 封装请求参数
    const requestOptions = {
      url: url,
      header: {
        'Content-Type': 'application/json',
        ...options.header
      },
      method: options.method || 'GET',
      timeout: 30000,
      success: (res) => {
        if (res.statusCode === 200) {
          // 判断业务状态码，根据实际项目调整
          if (res.data.code === 200 || res.data.code === 0) {
            resolve(res.data);
          } else {
            // 业务状态码错误
            uni.showToast({
              title: res.data.msg || '请求失败',
              icon: 'none'
            });
            reject(res.data);
          }
        } else {
          // HTTP状态码错误
          uni.showToast({
            title: '请求失败，状态码：' + res.statusCode,
            icon: 'none'
          });
          reject(res);
        }
      },
      fail: (err) => {
        // 网络错误或其他错误
        uni.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
        reject(err);
      }
    };
    
    // 添加参数
    if (options.params) {
      requestOptions.data = options.params;
    }
    if (options.data) {
      requestOptions.data = options.data;
    }
    
    // 添加请求前的Loading
    if (options.loading !== false) {
      uni.showLoading({
        title: '加载中'
      });
    }
    
    // 发送请求
    const requestTask = uni.request(requestOptions);
    
    // 添加请求后的处理
    requestTask.then(() => {
      if (options.loading !== false) {
        uni.hideLoading();
      }
    }).catch(() => {
      if (options.loading !== false) {
        uni.hideLoading();
      }
    });
  });
}

export default request; 